<?php

require_once 'Banco.php';
require_once 'Model/Cidade.php';
require_once 'DaoEstado.php';
class DaoCidade extends Banco{
    
    
    function getCidades(){
        $cidades = array();
        Banco::conecta();
        $banco = Banco::getBanco();
        $query = $banco->query("SELECT * FROM TB_CIDADE");
        if(!empty($query)){
            while ($cid = $query->fetch_assoc() ) {
                $cidade = new Cidade();  
                $de = new DaoEstado();
                $cidade->setCodigo($cid['CID_CODIGO']);
                $cidade->setNome($cid['CID_NOME']);
                $cidade->setEstado($de->getEstado($cid['CID_CODESTADO']));//FALTA BUSCAR O ESTADO
                $cidades[] = (object)$cidade;
            }
        }
        
        return $cidades;
    }
    
    function getCidade($codigo){
        $cidade = new Cidade();
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("SELECT CID_CODIGO, CID_NOME, CID_CODESTADO FROM TB_CIDADE WHERE CID_CODIGO = ?")) {
            $sql->bind_param('i',$codigo);
            $sql->execute();
            $sql->bind_result($id, $descricao, $estado);
            while ($sql->fetch()) {
                $de = new DaoEstado();
                $cidade->setCodigo($id);
                $cidade->setNome($descricao);
                $cidade->setEstado($de->getEstado($estado));
            }
        }
        return (object)$cidade;
    }
    
    function getCidadesByEstado($cod_estado){
        $cidades = array();
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("SELECT CID_CODIGO, CID_NOME, CID_CODESTADO FROM TB_CIDADE WHERE CID_CODESTADO = ?")) {
            $sql->bind_param('i',$cod_estado);
            $sql->execute();
            $sql->bind_result($id, $descricao, $estado);
            while ($sql->fetch()) {
                $cidade = new Cidade();
                $de = new DaoEstado();
                $cidade->setCodigo($id);
                $cidade->setNome($descricao);
                $cidade->setEstado($de->getEstado($estado));
                $cidades[] = (object)$cidade;
            }
        }
        return $cidades;
    }
    
    function getCidadeByDescricao($descricao){
        //$cidade = NULL;
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("SELECT CID_CODIGO, CID_NOME, CID_CODESTADO FROM TB_CIDADE WHERE CID_NOME = ?")) {
            $sql->bind_param('s',$descricao);
            $sql->execute();
            $sql->bind_result($id, $descricao, $estado);
            while ($sql->fetch()) {
                $cidade = new Cidade();
                $de = new DaoEstado();
                $cidade->setCodigo($id);
                $cidade->setNome($descricao);
                $cidade->setEstado($de->getEstado($estado));
            }
        }
        return (object)$cidade;
    }
    
    function addCidade(Cidade $cidade){
        
    }
}

?>
